<?php

namespace Tbf\Bundle\UploadBundle;

use Tbf\Component\Io\StringReaderInterface;

interface BlobInterface
{
    /**
     * 类型,扩展名
     * @return string
     */
    public function getExtension();

    /**
     * 大小
     * @return int
     * @return error
     */
    public function getSize();

    /**
     * 全部内容,一次读取
     * @return string
     * @return error
     */
    public function getContent();

    /**
     * 写入全部内容,一次写入
     * @param $string
     * @return error
     */
    public function setContent($string);

    /**
     * 内容的md5值
     * @return string
     */
    public function getContentMd5();

    /**
     * 保存到某个文件中
     * @param string $file_path
     * @return string|null error
     */
    public function saveToFilePath($file_path);
}
